#!/bin/bash

KAFKA_SERVER="192.168.102.164:39092"  # 将 "localhost:9092" 替换为您的 Kafka 服务器地址。
KAFKA_TOPIC="ods_vehicle_info"  # 将 "test" 替换为您要写入的 Kafka 主题名称。
id=0

while true
do
    COORD_X=$(awk -v min=100 -v max=130 'BEGIN{srand(); print min+rand()*(max-min)}')  # 随机坐标的x
#    COORD_X=$(awk -v min=-180 -v max=180 'BEGIN{srand(); print min+rand()*(max-min)}')  # 随机坐标的x
    COORD_Y=$(awk -v min=200 -v max=40 'BEGIN{srand(); print min+rand()*(max-min)}')  # 随机坐标的y
#    COORD_Y=$(awk -v min=-90 -v max=90 'BEGIN{srand(); print min+rand()*(max-min)}')  # 随机坐标的y
    DIRECTION=("东" "南" "西" "北")  # 运动方向
    VEHICLE_ID="车辆编号$(shuf -i 1-10 -n 1)"  # 车辆编号随机生成
    MESSAGE="{\"coordinate\":\"POINT($COORD_X $COORD_Y)\",\"direction\":\"${DIRECTION[$(($RANDOM%4))]}\",\"id\":$((id++)),\"road\":\"经十路\",\"time\":$(date "+%Y-%m-%dT%H:%M:%S.%3N"),\"vehicleId\":\"$VEHICLE_ID\"}"
    echo "$MESSAGE" | /usr/bin/kafka-console-producer --broker-list $KAFKA_SERVER --topic $KAFKA_TOPIC --property parse.key=true --property key.separator=:  --property value.serializer=org.apache.kafka.common.serialization.StringSerializer  --property key.serializer=org.apache.kafka.common.serialization.StringSerializer
    sleep 1  # 休眠1秒后，再写入下一条消息。
done
